Modify URL with .htaccess [#Q1.]



我想使用.htaccess修改服务器上的URL,但我面临一些问题。

付款# Q2。这里。

规则# 1:

https://example.com/site/index.php

https://example.com/site/

应该被转换成短url

https://example.com/

规则# 2:

https://example.com/

应该加载完整的url而不扩展。

https://example.com/site/index.php.

规则# 3:

https://example.com/a/site/index.php

https://example.com/b/site/index.php

https://example.com/a/site/

https://example.com/b/site/

应该被转换成短url

https://example.com/a/

https://example.com/b/

注意:我想从URL中删除site文件夹,我不知道写.htaccess,任何帮助都会非常感激。

您可以在您的站点根。htaccess(假设在sib目录中没有其他。htaccess)中尝试这些规则:

RewriteEngine On
# matches /site/ or /site/index.php or 
# /a/site/index.php or /b/site/index.php
# captures a/ or b/ or an empty string in %1
# redirects to /a/ or /b/ or /
RewriteCond %{THE_REQUEST} s/+([ab]/|)site/(?:index.php)?[?s] [NC]
RewriteRule ^ /%1 [L,R=302,NE]
# matches a/ or b/ or empty (landing page)
# rewrites to a/site/index.php or b/site/index.php or site/index.php
RewriteRule ^([ab]/)?$ $1site/index.php [L,NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

最新更新