我正在尝试在我的Apache2服务器上实现这一点:
随时输入这样的网址:
http://www.mydomain.com/first_location
mod_rewrite应重定向到:
http://www.mydomain.com/first_location/first_location.php
其中“first_location”可以是任何有效的文件夹名称。
我能够收集到这么多:
RewriteRule ^[A-Za-z0-9-]/ .......
但不确定如何处理此情况下的重定向网址部分。
感谢任何帮助以完成替换部分(并在必要时更正模式部分)。
答案 0 :(得分:1)
如果first_location
是有效文件夹,则会有一个名为 mod_dir 的apache模块,该模块会自动将浏览器重定向到同一文件夹但带有斜杠。因此,您可以使用DirectorySlash Off
关闭 mod_dir ,或者允许重定向并仅匹配斜杠。所以你想要的是:
RewriteEngine On
# check that it's a valid folder
RewriteCond %{REQUEST_FILENAME} -d
# check that the php file actually exists:
RewriteCond %{REQUEST_URI} ^/([^/]+)/$
RewriteCond %{REQUEST_FILENAME}%1.php -f
# rewrite
RewriteRule ^/?([^/]+)/$ /$1/$1.php [L]