[英]Redirect All URL's With A Particular Pathname To A Certain View - LARAVEL
[英]Redirect all URL calls to a particular php file
任何http請求(例如pdf)都應重定向到validate.php,因此,如果您調用URL(例如http:...../whatever/whatever/1.pdf
),則htaccess應該執行validate.php 。
我在網絡和stackoveflow上經歷了很多例子,還沒有運氣。 由於大多數服務器對許多人來說都可以正常工作,所以我想我的服務器肯定有問題。
我該如何解決這個問題?
謝謝
注意: htaccess和validate.php文件存儲在根目錄中。
還有很多。
將此代碼放在您的DOCUMENT_ROOT/.htaccess
文件中:
RewriteEngine On
RewriteRule \.pdf$ /validate.php [L,NC]
就這樣:
# Turn On RewriteEngine
RewriteEngine On
# Set RewriteBase
RewriteBase /
# Redirect any http request to validate.php
RewriteRule . /validate.php [NC,L]
將此添加到您的.htaccess文件中的<IfModule mod_rewrite.c>部分中
RewriteEngine On
RewriteRule ^ validate.php [L]
問題是您將Apache htaccess
重定向和授權與所需的應用程序級別行為混為一談。 至少基於我要基於的事實,即您希望每個對.pdf
請求都經過一個名為validate.php
的腳本,然后才能訪問.pdf
。
當我說您正在混淆時,強制進行此類驗證的邏輯應該在您的validate.php
或您的PHP應用程序的較大框架內。 該腳本應在設置cookie或會話變量或您可能具有的任何驗證方案之后驗證用戶,然后下載.pdf
文件。
總而言之,這不是您描述方式中要回答的簡單問題。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ validate.php [L]
那這個呢?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.