chr*_*s m 7 apache wordpress .htaccess joomla
我搜索了stackoverflow的特定解决方案,找不到一个能解决我问题的方法.提前感谢您提供的任何帮助.感谢您的知识.
我决定接受一份合同,将Joomla网站(用客户的话说)转换成WordPress网站.一切都顺利进行,除了Joomla网站链接到.html文件,包括导航和100多个帖子的内容.
我没有逐个浏览每个帖子并更新链接或运行SQL命令以从URL中删除".html",而是决定对.htaccess施加压力,我对此感到有点舒服.
在WordPress中,我启用了自定义固定链接,它如下所示:/%category%/%postname%
以下是帖子中旧网址之一的示例:
http://the-site.com/category/the-webpage.html
Run Code Online (Sandbox Code Playgroud)
我需要htaccess文件告诉网络服务器删除.html,以便用户在访问" http://the-site.com/the-webpage.html "之后被发送到:
http://the-site.com/category/the-webpage
Run Code Online (Sandbox Code Playgroud)
我正在设置页面存根以遵循Joomla页面的文件名,因此http://the-site.com/category/the-webpage将起作用.
您是否可以帮助我找到有人访问网站时从URL中删除.html的解决方案,即使服务器上不存在HTML文件?
以下是我进行更改之前.htaccess文件的外观:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Run Code Online (Sandbox Code Playgroud)
这是截至东部时间下午5:35的最新.htaccess文件:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^(.*)\.html$ $1 [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Run Code Online (Sandbox Code Playgroud)
Tim*_*one 13
这将强制外部重定向到您的新网址,但这可能不适合您的情况.我仍然在想是否有办法保持重定向内部并更新WordPress用来确定要提供哪个页面的变量,但到目前为止我还没有想到任何可行的方法.
整个.htaccess:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^(.*)\.html$ $1 [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Run Code Online (Sandbox Code Playgroud)