【问题标题】:.htaccess Rewrite Engine, folder-structure,.htaccess 重写引擎,文件夹结构,
【发布时间】:2014-08-25 16:04:29
【问题描述】:

遵循文件夹结构

和.htaccess结构如下

RewriteEngine On


# The following rule tells Apache that if the requested filename
# exists, simply serve it.
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]

# The following rewrites all other queries to index.php. The 
# condition ensures that if you are using Apache aliases to do
# mass virtual hosting, the base path will be prepended to 
# allow proper resolution of the index.php file; it will work
# in non-aliased environments as well, providing a safe, one-size 
# fits all solution.
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]

问题在访问http://somesite.somename.com/ 时显示文件夹结构以使其工作我需要访问http://somesite.somename.com/public

问题如何让http://somesite.somename.com/publichttp://somesite.somename.com/访问?

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite directory-structure


    【解决方案1】:

    您需要拥有根级别的 .htaccess(高于public 的级别)才能将所有流量转发给公共:

    RewriteEngine On
    RewriteBase /
    
    RewriteRule ^(.*)$ public/$1 [L]
    

    /public/.htaccess 无需更改

    【讨论】:

    • 在根级别添加了 .htaccess 并编写了您的代码,但我似乎也没有工作。然后我删除了所有代码并编写了随机文本以检查它是否有效并且服务器看到 .htaccess。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多