这是我关于htaccess的第三个问题。我本该做一首单曲的。但我觉得这个问题太大了。
这是用于我自己的CMS。:o)
我的htaccess是:
RewriteEngine on
RewriteRule ^page/([^/.]+)/?$ index.php?page=$1 [L]
Remove index.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.*index.php HTTP/
RewriteRule ^(.*)index.php$ /$1 [R=301,L]
我想做的是:
从我的URL中删除/page/,只需例如:myurl.com/home
现在我的网址是:www.myurl.com/page/home或任何标题。现在,当人们在CMS中创建新页面时,他们可能不想要一个名为"关于我们"的页面。这将是什么:
www.myurl.com/page/about%20us
如何添加"-"而不是%20?
您可以很容易地从.htaccess中删除page/
,但必须忽略现有的文件和目录:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/.]+)/?$ index.php?page=$1 [L]
您的第二个问题与.htaccess无关。您必须将页面About us
链接为/about-us/
,而不是/about%20us/
(%20
表示一个空间),如果调用页面/about-us/
(index.php?page=about-us
),则将其处理为/about%20us/
。所以简单地用-
替换空间。